home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / Emperor_ / Emperor / Projects / DevsManager / DevsManager.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-28  |  72.0 KB  |  1,340 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define ALL_REACTION_CLASSES
  4. #define ALL_REACTION_MACROS
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <math.h>
  9. #include <clib/alib_protos.h>
  10. #include <clib/asl_protos.h>
  11. #include <clib/dos_protos.h>
  12. #include <clib/exec_protos.h>
  13. #include <clib/gadtools_protos.h>
  14. #include <clib/graphics_protos.h>
  15. #include <clib/intuition_protos.h>
  16. #include <clib/locale_protos.h>
  17. #include <clib/resource_protos.h>
  18. #include <clib/utility_protos.h>
  19. #include <clib/colorwheel_protos.h>
  20. #include <clib/datebrowser_protos.h>
  21. #include <clib/texteditor_protos.h>
  22. #include <clib/wb_protos.h>
  23. #include <gadgets/colorwheel.h>
  24. #include <gadgets/datebrowser.h>
  25. #include <gadgets/gradientslider.h>
  26. #include <gadgets/tapedeck.h>
  27. #include <gadgets/texteditor.h>
  28. #include <proto/texteditor.h>
  29. #include <intuition/gadgetclass.h>
  30. #include <intuition/icclass.h>
  31. #include <intuition/imageclass.h>
  32. #include <reaction/reaction.h>
  33. #include <workbench/startup.h>
  34. #include <wbstartup.h>
  35.  
  36. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  37. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  38.  
  39. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Window")
  40. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "DevsManager Version 1.4  created by Emperor")
  41. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified Program")
  42. #define LOCALE_MENU_PROJECT GetCatalogStr(Catalog, 3, "Project")
  43. #define LOCALE_MENU_INFO GetCatalogStr(Catalog, 4, "Information")
  44. #define LOCALE_MENU_QUIT GetCatalogStr(Catalog, 5, "Quit")
  45. #define LOCALE_MENU_TYPE GetCatalogStr(Catalog, 6, "Type")
  46. #define LOCALE_SELECTED_STRING GetCatalogStr(Catalog, 7, "Selected: NOTHING")
  47. #define LOCALE_REQUEST_QUIT_TITLE GetCatalogStr(Catalog, 8, "Program request")
  48. #define LOCALE_REQUEST_QUIT_BODY GetCatalogStr(Catalog, 9, " Do you really want to quit this program ?")
  49. #define LOCALE_REQUEST_QUIT_GADGET GetCatalogStr(Catalog, 10, "Okay|No")
  50. #define LOCALE_REQUEST_INFO_TITLE GetCatalogStr(Catalog, 11, "Program information")
  51. #define LOCALE_REQUEST_INFO_BODY GetCatalogStr(Catalog, 12, " DevsManager was written by Matthias Gietzelt\n DevsManager was created by Emperor")
  52. #define LOCALE_REQUEST_INFO_GADGET GetCatalogStr(Catalog, 13, "Okay")
  53. #define LOCALE_DELETE GetCatalogStr(Catalog, 14, "Delete")
  54.  
  55. #define Layout1 Gadget1[1]
  56. #define Layout2 Gadget1[2]
  57. #define Layout3 Gadget1[3]
  58. #define Listbrowser1 Gadget1[4]
  59. #define Layout4 Gadget1[5]
  60. #define Space1 Gadget1[6]
  61. #define Chooser1 Gadget1[7]
  62. #define Space5 Gadget1[8]
  63. #define Button1 Gadget1[9]
  64. #define Button2 Gadget1[10]
  65. #define Space4 Gadget1[11]
  66. #define Button4 Gadget1[12]
  67. #define Space3 Gadget1[13]
  68. #define Button3 Gadget1[14]
  69. #define Space2 Gadget1[15]
  70. #define Layout5 Gadget1[16]
  71. #define Listbrowser2 Gadget1[17]
  72. #define String1 Gadget1[18]
  73.  
  74. #define Menu_Project 65504
  75. #define Menu_Information 63488
  76. #define Menu_Quit 63552
  77. #define Menu_Type 65505
  78. #define Menu_DataTypes 63489
  79. #define Menu_DOSDrivers 63521
  80. #define Menu_Keymaps 63553
  81. #define Menu_Monitors 63585
  82. #define Menu_Printers 63617
  83.  
  84. LONG Quitrequest1(void);
  85. LONG Inforequest1(void);
  86. void Listbrowser1_GadgetUp_Event(void);
  87. void Chooser1_GadgetUp_Event(void);
  88. void Button1_GadgetUp_Event(void);
  89. void Button2_GadgetUp_Event(void);
  90. void Button4_GadgetUp_Event(void);
  91. void Button3_GadgetUp_Event(void);
  92. void Listbrowser2_GadgetUp_Event(void);
  93. void Menu_Information_MenuPick_Event(void);
  94. void Menu_Quit_MenuPick_Event(void);
  95. void Menu_DataTypes_MenuPick_Event(void);
  96. void Menu_DOSDrivers_MenuPick_Event(void);
  97. void Menu_Keymaps_MenuPick_Event(void);
  98. void Menu_Monitors_MenuPick_Event(void);
  99. void Menu_Printers_MenuPick_Event(void);
  100. void Window1_CloseWindow_Event(void);
  101. void Window1_ShowWindow_Event(void);
  102. void Startup(void);
  103. void Shutdown(void);
  104. void Emperor_InitProgram(void);
  105. void Emperor_QuitProgram(void);
  106. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  107. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  108. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  109. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  110. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  111. void Emperor_CloseScreen_Screen1(void);
  112. struct Screen *Emperor_OpenScreen_Screen1(void);
  113. void Emperor_CloseWindow_Window1(void);
  114. struct Window *Emperor_OpenWindow_Window1(void);
  115. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  116. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  117. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  118. void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
  119. ULONG stringlength(STRPTR);
  120. LONG stringtoint(STRPTR);
  121. DOUBLE stringtofloat(STRPTR);
  122. STRPTR inttostring(LONG);
  123.  
  124. const char VERSION[] = "$VER: DevsManager 1.6 (15-Jul-2001)";
  125. const char AUTHOR[] = "Matthias Gietzelt";
  126.  
  127. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 13, 12, 18, 2, 18, 0, 0, 18, 0, 18, 0, 18, 12, 13, 20, -1 };
  128. char *Emperor_Nodearray1raw[] = { "DataTypes", "DOSDrivers", "Keymaps", "Monitors", "Printers", NULL };
  129. WORD Emperor_Nodearray1attr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  130.  
  131. struct NewMenu NewMenu[] =
  132. {
  133.     { NM_TITLE, 0, 0, 0, 0, 0 },
  134.     { NM_ITEM, 0, "I", 0, 0, 0 },
  135.     { NM_ITEM, NM_BARLABEL, 0, 0, 0, 0 },
  136.     { NM_ITEM, 0, "Q", 0, 0, 0 },
  137.     { NM_TITLE, 0, 0, 0, 0, 0 },
  138.     { NM_ITEM, 0, "1", 0, 0, 0 },
  139.     { NM_ITEM, 0, "2", 0, 0, 0 },
  140.     { NM_ITEM, 0, "3", 0, 0, 0 },
  141.     { NM_ITEM, 0, "4", 0, 0, 0 },
  142.     { NM_ITEM, 0, "5", 0, 0, 0 },
  143.     { NM_END, 0, 0, 0, 0, 0 }
  144. };
  145.  
  146. void *VisualInfo1 = NULL;
  147. BOOL os35 = TRUE;
  148. BOOL terminated = FALSE;
  149. ULONG WindowSignals1 = 0L;
  150. Object *WindowObject1 = NULL;
  151. struct Catalog *Catalog = NULL;
  152. struct Gadget *Gadget1[19];
  153. struct IntuiMessage *IntuiMessage = NULL;
  154. struct Library *IntuitionBase = NULL;
  155. struct Library *LocaleBase = NULL;
  156. struct Library *GadToolsBase = NULL;
  157. struct Library *ASLBase = NULL;
  158. struct Library *DOSLibBase = NULL;
  159. struct Library *ResourceBase = NULL;
  160. struct Library *WindowBase = NULL;
  161. struct Library *RequesterBase = NULL;
  162. struct Library *ButtonBase = NULL;
  163. struct Library *CheckBoxBase = NULL;
  164. struct Library *ChooserBase = NULL;
  165. struct Library *ClickTabBase = NULL;
  166. struct Library *ColorWheelBase = NULL;
  167. struct Library *DateBrowserBase = NULL;
  168. struct Library *FuelGaugeBase = NULL;
  169. struct Library *GetFileBase = NULL;
  170. struct Library *GetFontBase = NULL;
  171. struct Library *GetScreenModeBase = NULL;
  172. struct Library *GradientSliderBase = NULL;
  173. struct Library *IntegerBase = NULL;
  174. struct Library *LayoutBase = NULL;
  175. struct Library *ListBrowserBase = NULL;
  176. struct Library *PaletteBase = NULL;
  177. struct Library *RadioButtonBase = NULL;
  178. struct Library *ScrollerBase = NULL;
  179. struct Library *SliderBase = NULL;
  180. struct Library *SpaceBase = NULL;
  181. struct Library *SpeedBarBase = NULL;
  182. struct Library *StringBase = NULL;
  183. struct Library *TapeDeckBase = NULL;
  184. struct Library *TextEditorBase = NULL;
  185. struct Library *BevelBase = NULL;
  186. struct Library *BitMapBase = NULL;
  187. struct Library *GlyphBase = NULL;
  188. struct Library *LabelBase = NULL;
  189. struct List Emperor_Chooser_Nodearray1;
  190. struct List Emperor_Clicktab_Nodearray1;
  191. struct List Emperor_Listbrowser_Nodearray1;
  192. struct List Emperor_Radiobutton_Nodearray1;
  193. struct List Emperor_Listbrowser_GadTools_Nodearray1;
  194. struct Menu *Menu = NULL;
  195. struct MsgPort *AppPort = NULL;
  196. struct MsgPort *MsgPort = NULL;
  197. struct Screen *Screen1 = NULL;
  198. struct Window *Window1 = NULL;
  199.  
  200.  
  201. void main(void)
  202. {
  203.     ULONG Emperor_Code = 0L;
  204.     ULONG Emperor_Input = 0L;
  205.     ULONG Emperor_Micros = 0L;
  206.     ULONG Emperor_Seconds = 0L;
  207.     struct Gadget *Emperor_GadgetMessage = NULL;
  208.     Emperor_InitProgram();
  209.     Startup();
  210.     Emperor_OpenWindow_Window1();
  211.     while(!terminated)
  212.     {
  213.         Wait(WindowSignals1);
  214.         while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  215.         {
  216.             switch(Emperor_Input & WMHI_CLASSMASK)
  217.             {
  218.                 case WMHI_GADGETUP:
  219.                     switch(Emperor_Input & WMHI_GADGETMASK)
  220.                     {
  221.                         case 3: Listbrowser1_GadgetUp_Event(); break;
  222.                         case 8: Chooser1_GadgetUp_Event(); break;
  223.                         case 5: Button1_GadgetUp_Event(); break;
  224.                         case 6: Button2_GadgetUp_Event(); break;
  225.                         case 13: Button4_GadgetUp_Event(); break;
  226.                         case 7: Button3_GadgetUp_Event(); break;
  227.                         case 10: Listbrowser2_GadgetUp_Event(); break;
  228.                         default: break;
  229.                     }
  230.                     break;
  231.                 case WMHI_GADGETHELP:
  232.                     switch(Emperor_Input & WMHI_GADGETMASK)
  233.                     {
  234.                         default: break;
  235.                     }
  236.                     break;
  237.                 case WMHI_MENUPICK:
  238.                     switch(Emperor_Input & WMHI_MENUMASK)
  239.                     {
  240.                         case Menu_Information: Menu_Information_MenuPick_Event(); break;
  241.                         case Menu_Quit: Menu_Quit_MenuPick_Event(); break;
  242.                         case Menu_DataTypes: Menu_DataTypes_MenuPick_Event(); break;
  243.                         case Menu_DOSDrivers: Menu_DOSDrivers_MenuPick_Event(); break;
  244.                         case Menu_Keymaps: Menu_Keymaps_MenuPick_Event(); break;
  245.                         case Menu_Monitors: Menu_Monitors_MenuPick_Event(); break;
  246.                         case Menu_Printers: Menu_Printers_MenuPick_Event(); break;
  247.                         default: break;
  248.                     }
  249.                     break;
  250.                 case WMHI_MENUHELP:
  251.                     switch(Emperor_Input & WMHI_MENUMASK)
  252.                     {
  253.                         default: break;
  254.                     }
  255.                     break;
  256.                 case WMHI_CLOSEWINDOW:
  257.                     Window1_CloseWindow_Event();
  258.                     break;
  259.                 case WMHI_ICONIFY:
  260.                     break;
  261.                 case WMHI_UNICONIFY:
  262.                     break;
  263.                 case WMHI_ACTIVE:
  264.                     break;
  265.                 case WMHI_INACTIVE:
  266.                     break;
  267.                 case WMHI_RAWKEY:
  268.                     break;
  269.                 case WMHI_VANILLAKEY:
  270.                     break;
  271.                 case WMHI_MOUSEBUTTONS:
  272.                     break;
  273.                 case WMHI_MOUSEMOVE:
  274.                     break;
  275.                 case WMHI_NEWSIZE:
  276.                     break;
  277.                 case WMHI_CHANGEWINDOW:
  278.                     break;
  279.                 case WMHI_DISPOSEDWINDOW:
  280.                     break;
  281.                 case WMHI_INTUITICK:
  282.                     break;
  283.             }
  284.         }
  285.     }
  286.     Emperor_QuitProgram();
  287. }
  288.  
  289. void wbmain(struct WBStartup *Emperor_ArgMsg)
  290. {
  291.     main();
  292. }
  293.  
  294. LONG Quitrequest1(void)
  295. {
  296.     struct EasyStruct EmperorRequest_Quitrequest1;
  297.  
  298.     EmperorRequest_Quitrequest1.es_StructSize = sizeof(struct EasyStruct);
  299.     EmperorRequest_Quitrequest1.es_Flags = 0L;
  300.     EmperorRequest_Quitrequest1.es_Title = (UBYTE *) LOCALE_REQUEST_QUIT_TITLE;
  301.     EmperorRequest_Quitrequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_QUIT_BODY;
  302.     EmperorRequest_Quitrequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_QUIT_GADGET;
  303.     return(EasyRequest(Window1, &EmperorRequest_Quitrequest1, NULL, NULL));
  304. }
  305.  
  306. LONG Inforequest1(void)
  307. {
  308.     struct EasyStruct EmperorRequest_Inforequest1;
  309.  
  310.     EmperorRequest_Inforequest1.es_StructSize = sizeof(struct EasyStruct);
  311.     EmperorRequest_Inforequest1.es_Flags = 0L;
  312.     EmperorRequest_Inforequest1.es_Title = (UBYTE *) LOCALE_REQUEST_INFO_TITLE;
  313.     EmperorRequest_Inforequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_INFO_BODY;
  314.     EmperorRequest_Inforequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INFO_GADGET;
  315.     return(EasyRequest(Window1, &EmperorRequest_Inforequest1, NULL, NULL));
  316. }
  317.  
  318. void Emperor_InitProgram(void)
  319. {
  320.     UWORD Emperor_InitVar = 0;
  321.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  322.     struct Task *Emperor_ThisTask = NULL;
  323.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  324.  
  325.     IntuitionBase = OpenLibrary("intuition.library", 39L);
  326.     if(!IntuitionBase)
  327.     {
  328.         Emperor_InitVar = 1;
  329.         strcpy(Emperor_OccuredError, "intuition.library");
  330.     }
  331.     LocaleBase = OpenLibrary("locale.library", 39L);
  332.     if(!LocaleBase)
  333.     {
  334.         Emperor_InitVar = 1;
  335.         strcpy(Emperor_OccuredError, "locale.library");
  336.     }
  337.     GadToolsBase = OpenLibrary("gadtools.library", 39L);
  338.     if(!GadToolsBase)
  339.     {
  340.         Emperor_InitVar = 1;
  341.         strcpy(Emperor_OccuredError, "gadtools.library");
  342.     }
  343.     ASLBase = OpenLibrary("asl.library", 39L);
  344.     if(!ASLBase)
  345.     {
  346.         Emperor_InitVar = 1;
  347.         strcpy(Emperor_OccuredError, "asl.library");
  348.     }
  349.     DOSLibBase = OpenLibrary("dos.library", 39L);
  350.     if(!DOSLibBase)
  351.     {
  352.         Emperor_InitVar = 1;
  353.         strcpy(Emperor_OccuredError, "dos.library");
  354.     }
  355.     ResourceBase = OpenLibrary("resource.library", 44L);
  356.     if(!ResourceBase)
  357.     {
  358.         os35 = FALSE;
  359.         strcpy(Emperor_OccuredError, "resource.library");
  360.     }
  361.     WindowBase = OpenLibrary("window.class", 44L);
  362.     if(!WindowBase)
  363.     {
  364.         os35 = FALSE;
  365.         strcpy(Emperor_OccuredError, "window.class");
  366.     }
  367.     RequesterBase = OpenLibrary("requester.class", 42L);
  368.     if(!RequesterBase)
  369.     {
  370.         os35 = FALSE;
  371.         strcpy(Emperor_OccuredError, "requester.class");
  372.     }
  373.     ButtonBase = OpenLibrary("gadgets/button.gadget", 44L);
  374.     if(!ButtonBase)
  375.     {
  376.         os35 = FALSE;
  377.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  378.     }
  379.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 44L);
  380.     if(!CheckBoxBase)
  381.     {
  382.         os35 = FALSE;
  383.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  384.     }
  385.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 44L);
  386.     if(!ChooserBase)
  387.     {
  388.         os35 = FALSE;
  389.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  390.     }
  391.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 44L);
  392.     if(!ClickTabBase)
  393.     {
  394.         os35 = FALSE;
  395.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  396.     }
  397.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 44L);
  398.     if(!ColorWheelBase)
  399.     {
  400.         os35 = FALSE;
  401.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  402.     }
  403.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 44L);
  404.     if(!DateBrowserBase)
  405.     {
  406.         os35 = FALSE;
  407.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  408.     }
  409.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 44L);
  410.     if(!FuelGaugeBase)
  411.     {
  412.         os35 = FALSE;
  413.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  414.     }
  415.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 44L);
  416.     if(!GetFileBase)
  417.     {
  418.         os35 = FALSE;
  419.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  420.     }
  421.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 44L);
  422.     if(!GetFontBase)
  423.     {
  424.         os35 = FALSE;
  425.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  426.     }
  427.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 44L);
  428.     if(!GetScreenModeBase)
  429.     {
  430.         os35 = FALSE;
  431.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  432.     }
  433.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 44L);
  434.     if(!GradientSliderBase)
  435.     {
  436.         os35 = FALSE;
  437.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  438.     }
  439.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 44L);
  440.     if(!IntegerBase)
  441.     {
  442.         os35 = FALSE;
  443.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  444.     }
  445.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 44L);
  446.     if(!LayoutBase)
  447.     {
  448.         os35 = FALSE;
  449.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  450.     }
  451.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 44L);
  452.     if(!ListBrowserBase)
  453.     {
  454.         os35 = FALSE;
  455.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  456.     }
  457.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 44L);
  458.     if(!PaletteBase)
  459.     {
  460.         os35 = FALSE;
  461.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  462.     }
  463.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 44L);
  464.     if(!RadioButtonBase)
  465.     {
  466.         os35 = FALSE;
  467.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  468.     }
  469.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 44L);
  470.     if(!ScrollerBase)
  471.     {
  472.         os35 = FALSE;
  473.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  474.     }
  475.     SliderBase = OpenLibrary("gadgets/slider.gadget", 44L);
  476.     if(!SliderBase)
  477.     {
  478.         os35 = FALSE;
  479.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  480.     }
  481.     SpaceBase = OpenLibrary("gadgets/space.gadget", 44L);
  482.     if(!SpaceBase)
  483.     {
  484.         os35 = FALSE;
  485.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  486.     }
  487.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 44L);
  488.     if(!SpeedBarBase)
  489.     {
  490.         os35 = FALSE;
  491.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  492.     }
  493.     StringBase = OpenLibrary("gadgets/string.gadget", 44L);
  494.     if(!StringBase)
  495.     {
  496.         os35 = FALSE;
  497.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  498.     }
  499.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 40L);
  500.     if(!TapeDeckBase)
  501.     {
  502.         os35 = FALSE;
  503.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  504.     }
  505.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 15L);
  506.     if(!TextEditorBase)
  507.     {
  508.         os35 = FALSE;
  509.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  510.     }
  511.     BevelBase = OpenLibrary("images/bevel.image", 44L);
  512.     if(!BevelBase)
  513.     {
  514.         os35 = FALSE;
  515.         strcpy(Emperor_OccuredError, "images/bevel.image");
  516.     }
  517.     BitMapBase = OpenLibrary("images/bitmap.image", 44L);
  518.     if(!BitMapBase)
  519.     {
  520.         os35 = FALSE;
  521.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  522.     }
  523.     GlyphBase = OpenLibrary("images/glyph.image", 44L);
  524.     if(!GlyphBase)
  525.     {
  526.         os35 = FALSE;
  527.         strcpy(Emperor_OccuredError, "images/glyph.image");
  528.     }
  529.     LabelBase = OpenLibrary("images/label.image", 44L);
  530.     if(!LabelBase)
  531.     {
  532.         os35 = FALSE;
  533.         strcpy(Emperor_OccuredError, "images/label.image");
  534.     }
  535.     Catalog = OpenCatalogA(NULL, "DevsManager.catalog", NULL);
  536.     Emperor_ThisTask = FindTask(NULL);
  537.     if(((ULONG) Emperor_ThisTask->tc_SPUpper - (ULONG) Emperor_ThisTask->tc_SPLower) < 4096) Emperor_InitVar = 4;
  538.  
  539.     Emperor_OpenScreen_Screen1();
  540.     VisualInfo1 = GetVisualInfo(Screen1, TAG_DONE);
  541.     if(!VisualInfo1) Emperor_InitVar = 5;
  542.     else
  543.     {
  544.         NewMenu[0].nm_Label = LOCALE_MENU_PROJECT;
  545.         NewMenu[1].nm_Label = LOCALE_MENU_INFO;
  546.         NewMenu[2].nm_Label = NM_BARLABEL;
  547.         NewMenu[3].nm_Label = LOCALE_MENU_QUIT;
  548.         NewMenu[4].nm_Label = LOCALE_MENU_TYPE;
  549.         NewMenu[5].nm_Label = "DataTypes";
  550.         NewMenu[6].nm_Label = "DOSDrivers";
  551.         NewMenu[7].nm_Label = "Keymaps";
  552.         NewMenu[8].nm_Label = "Monitors";
  553.         NewMenu[9].nm_Label = "Printers";
  554.         Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
  555.         if(!Menu) Emperor_InitVar = 6;
  556.         else
  557.         {
  558.             LayoutMenus(Menu, VisualInfo1, GTMN_FrontPen, 0, TAG_DONE);
  559.  
  560.             AppPort = CreateMsgPort();
  561.             if(!AppPort) Emperor_InitVar = 7;
  562.  
  563.             MsgPort = CreatePort("DevsManager_Port", 0);
  564.             if(!MsgPort) Emperor_InitVar = 7;
  565.         }
  566.     }
  567.     if(os35)
  568.     {
  569.         Emperor_AllocChooserNode(&Emperor_Chooser_Nodearray1, Emperor_Nodearray1raw, Emperor_Nodearray1attr);
  570.         Emperor_AllocClicktabNode(&Emperor_Clicktab_Nodearray1, Emperor_Nodearray1raw, Emperor_Nodearray1attr);
  571.         Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Nodearray1, Emperor_Nodearray1raw, Emperor_Nodearray1attr);
  572.         Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Nodearray1, Emperor_Nodearray1raw, Emperor_Nodearray1attr);
  573.     }
  574.     Emperor_AllocListbrowserGadToolsNode(&Emperor_Listbrowser_GadTools_Nodearray1, Emperor_Nodearray1raw);
  575.     if((os35) && (!Emperor_InitVar))
  576.     {
  577.         WindowObject1 = (Object *) WindowObject,
  578.                         WA_Width, 400,
  579.                         WA_Height, 190,
  580.                         WA_SizeGadget, TRUE,
  581.                         WA_DragBar, TRUE,
  582.                         WA_DepthGadget, TRUE,
  583.                         WA_CloseGadget, TRUE,
  584.                         WA_Activate, TRUE,
  585.                         WA_AutoAdjust, TRUE,
  586.                         WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  587.                         WA_Title, LOCALE_WINDOW_TITLE1,
  588.                         WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  589.                         WA_PubScreen, Screen1,
  590.                         WINDOW_GadgetHelp, TRUE,
  591.                         WINDOW_IconifyGadget, FALSE,
  592.                         WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  593.                         WINDOW_AppPort, AppPort,
  594.                         WINDOW_Position, WPOS_CENTERSCREEN,
  595.                         WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  596.                                             LAYOUT_SpaceOuter, TRUE,
  597.                                             LAYOUT_DeferLayout, TRUE,
  598.                                             LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  599.                                                              GA_ID, 0,
  600.                                                              GA_RelVerify, TRUE,
  601.                                                              GA_GadgetHelp, TRUE,
  602.                                                              LAYOUT_Label, "",
  603.                                                              LAYOUT_Orientation, 1,
  604.                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  605.                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  606.                                                              LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  607.                                                              LAYOUT_BevelState, IDS_NORMAL,
  608.                                                              LAYOUT_BevelStyle, 4,
  609.                                                              LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  610.                                                                               GA_ID, 1,
  611.                                                                               GA_RelVerify, TRUE,
  612.                                                                               GA_GadgetHelp, TRUE,
  613.                                                                               LAYOUT_Label, "",
  614.                                                                               LAYOUT_Orientation, 0,
  615.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  616.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  617.                                                                               LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  618.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  619.                                                                               LAYOUT_BevelStyle, 4,
  620.                                                                               LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
  621.                                                                                                GA_ID, 2,
  622.                                                                                                GA_RelVerify, TRUE,
  623.                                                                                                GA_GadgetHelp, TRUE,
  624.                                                                                                LAYOUT_Label, "Devices",
  625.                                                                                                LAYOUT_Orientation, 0,
  626.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  627.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  628.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  629.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  630.                                                                                                LAYOUT_BevelStyle, 4,
  631.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) ListBrowserObject,
  632.                                                                                                                 GA_ID, 3,
  633.                                                                                                                 GA_RelVerify, TRUE,
  634.                                                                                                                 GA_GadgetHelp, TRUE,
  635.                                                                                                                 LISTBROWSER_AutoFit, TRUE,
  636.                                                                                                                 LISTBROWSER_ShowSelected, TRUE,
  637.                                                                                                                 LISTBROWSER_VerticalProp, TRUE,
  638.                                                                                                                 LISTBROWSER_HorizontalProp, TRUE,
  639.                                                                                                End,
  640.                                                                               End,
  641.                                                                               LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) LayoutObject,
  642.                                                                                                GA_ID, 4,
  643.                                                                                                GA_RelVerify, TRUE,
  644.                                                                                                GA_GadgetHelp, TRUE,
  645.                                                                                                LAYOUT_Label, "",
  646.                                                                                                LAYOUT_Orientation, 1,
  647.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  648.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  649.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  650.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  651.                                                                                                LAYOUT_BevelStyle, 4,
  652.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) SpaceObject,
  653.                                                                                                                 GA_ID, 11,
  654.                                                                                                                 GA_RelVerify, TRUE,
  655.                                                                                                                 GA_GadgetHelp, TRUE,
  656.                                                                                                                 SPACE_BevelStyle, 4,
  657.                                                                                                End,
  658.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[7] = (Object *) ChooserObject,
  659.                                                                                                                 GA_ID, 8,
  660.                                                                                                                 GA_RelVerify, TRUE,
  661.                                                                                                                 GA_GadgetHelp, TRUE,
  662.                                                                                                                 CHOOSER_Title, "Type",
  663.                                                                                                                 CHOOSER_AutoFit, TRUE,
  664.                                                                                                                 CHOOSER_PopUp, TRUE,
  665.                                                                                                                 CHOOSER_MaxLabels, 10,
  666.                                                                                                                 CHOOSER_Offset, 0,
  667.                                                                                                                 CHOOSER_Selected, -1,
  668.                                                                                                                 CHOOSER_Labels, (ULONG) &Emperor_Chooser_Nodearray1,
  669.                                                                                                End,
  670.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) SpaceObject,
  671.                                                                                                                 GA_ID, 17,
  672.                                                                                                                 GA_RelVerify, TRUE,
  673.                                                                                                                 GA_GadgetHelp, TRUE,
  674.                                                                                                                 SPACE_BevelStyle, 4,
  675.                                                                                                End,
  676.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) ButtonObject,
  677.                                                                                                                 GA_ID, 5,
  678.                                                                                                                 GA_RelVerify, TRUE,
  679.                                                                                                                 GA_GadgetHelp, TRUE,
  680.                                                                                                                 GA_Disabled, TRUE,
  681.                                                                                                                 GA_Text, "Emport ->",
  682.                                                                                                                 BUTTON_AutoButton, 0,
  683.                                                                                                                 BUTTON_BevelStyle, 1,
  684.                                                                                                                 BUTTON_Justification, 1,
  685.                                                                                                End,
  686.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) ButtonObject,
  687.                                                                                                                 GA_ID, 6,
  688.                                                                                                                 GA_RelVerify, TRUE,
  689.                                                                                                                 GA_GadgetHelp, TRUE,
  690.                                                                                                                 GA_Disabled, TRUE,
  691.                                                                                                                 GA_Text, "<- Import",
  692.                                                                                                                 BUTTON_AutoButton, 0,
  693.                                                                                                                 BUTTON_BevelStyle, 1,
  694.                                                                                                                 BUTTON_Justification, 1,
  695.                                                                                                End,
  696.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) SpaceObject,
  697.                                                                                                                 GA_ID, 16,
  698.                                                                                                                 GA_RelVerify, TRUE,
  699.                                                                                                                 GA_GadgetHelp, TRUE,
  700.                                                                                                                 SPACE_BevelStyle, 4,
  701.                                                                                                End,
  702.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) ButtonObject,
  703.                                                                                                                 GA_ID, 13,
  704.                                                                                                                 GA_RelVerify, TRUE,
  705.                                                                                                                 GA_GadgetHelp, TRUE,
  706.                                                                                                                 GA_Text, LOCALE_DELETE,
  707.                                                                                                                 BUTTON_AutoButton, 0,
  708.                                                                                                                 BUTTON_BevelStyle, 1,
  709.                                                                                                                 BUTTON_Justification, 1,
  710.                                                                                                End,
  711.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) SpaceObject,
  712.                                                                                                                 GA_ID, 15,
  713.                                                                                                                 GA_RelVerify, TRUE,
  714.                                                                                                                 GA_GadgetHelp, TRUE,
  715.                                                                                                                 SPACE_BevelStyle, 4,
  716.                                                                                                End,
  717.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) ButtonObject,
  718.                                                                                                                 GA_ID, 7,
  719.                                                                                                                 GA_RelVerify, TRUE,
  720.                                                                                                                 GA_GadgetHelp, TRUE,
  721.                                                                                                                 GA_Text, "Refresh",
  722.                                                                                                                 BUTTON_AutoButton, 0,
  723.                                                                                                                 BUTTON_BevelStyle, 1,
  724.                                                                                                                 BUTTON_Justification, 1,
  725.                                                                                                End,
  726.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) SpaceObject,
  727.                                                                                                                 GA_ID, 12,
  728.                                                                                                                 GA_RelVerify, TRUE,
  729.                                                                                                                 GA_GadgetHelp, TRUE,
  730.                                                                                                                 SPACE_BevelStyle, 4,
  731.                                                                                                End,
  732.                                                                               End,
  733.                                                                               LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) LayoutObject,
  734.                                                                                                GA_ID, 9,
  735.                                                                                                GA_RelVerify, TRUE,
  736.                                                                                                GA_GadgetHelp, TRUE,
  737.                                                                                                LAYOUT_Label, "Storage",
  738.                                                                                                LAYOUT_Orientation, 0,
  739.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  740.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  741.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  742.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  743.                                                                                                LAYOUT_BevelStyle, 4,
  744.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[17] = (Object *) ListBrowserObject,
  745.                                                                                                                 GA_ID, 10,
  746.                                                                                                                 GA_RelVerify, TRUE,
  747.                                                                                                                 GA_GadgetHelp, TRUE,
  748.                                                                                                                 LISTBROWSER_AutoFit, TRUE,
  749.                                                                                                                 LISTBROWSER_ShowSelected, TRUE,
  750.                                                                                                                 LISTBROWSER_VerticalProp, TRUE,
  751.                                                                                                                 LISTBROWSER_HorizontalProp, TRUE,
  752.                                                                                                End,
  753.                                                                               End,
  754.                                                              End,
  755.                                                              LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) StringObject,
  756.                                                                               GA_ID, 17,
  757.                                                                               GA_RelVerify, TRUE,
  758.                                                                               GA_GadgetHelp, TRUE,
  759.                                                                               GA_TabCycle, TRUE,
  760.                                                                               STRINGA_TextVal, "",
  761.                                                                               STRINGA_MaxChars, 50,
  762.                                                                               STRINGA_Justification, GACT_STRINGLEFT,
  763.                                                                               STRINGA_MinVisible, 0,
  764.                                                              End,
  765.                                             End,
  766.                         EndGroup,
  767.         EndWindow;
  768.     }
  769.  
  770.     if(Emperor_InitVar)
  771.     {
  772.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  773.         switch(Emperor_InitVar)
  774.         {
  775.             case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  776.                     strcat(Emperor_ExceptionString, Emperor_OccuredError);
  777.                     strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  778.                     break;
  779.             case 4: strcat(Emperor_ExceptionString, "This program needs about 4096 bytes of stack to run.\n\n * when using CLI: type <stack 4096\n * when using Workbench: check icon information\n * when using DOpus5: modify Menu-Preferences-Environment-CLI-Start"); break;
  780.             case 5: strcat(Emperor_ExceptionString, "Can't get visualinfo of the screen."); break;
  781.             case 6: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  782.             case 7: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  783.         }
  784.         if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  785.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  786.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  787.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  788.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  789.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  790.         EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  791.         Emperor_QuitProgram();
  792.     }
  793.     else
  794.     {
  795.         SetProgramName("DevsManager");
  796.         Startup();
  797.     }
  798. }
  799.  
  800. void Emperor_QuitProgram(void)
  801. {
  802.     Shutdown();
  803.     Emperor_CloseWindow_Window1();
  804.     if(WindowObject1) DisposeObject(WindowObject1);
  805.     if(AppPort) DeleteMsgPort(AppPort);
  806.     if(MsgPort) DeletePort(MsgPort);
  807.     if(Menu) FreeMenus(Menu);
  808.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  809.     if(Catalog) CloseCatalog(Catalog);
  810.     if(LabelBase) CloseLibrary(LabelBase);
  811.     if(GlyphBase) CloseLibrary(GlyphBase);
  812.     if(BitMapBase) CloseLibrary(BitMapBase);
  813.     if(BevelBase) CloseLibrary(BevelBase);
  814.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  815.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  816.     if(StringBase) CloseLibrary(StringBase);
  817.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  818.     if(SpaceBase) CloseLibrary(SpaceBase);
  819.     if(SliderBase) CloseLibrary(SliderBase);
  820.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  821.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  822.     if(PaletteBase) CloseLibrary(PaletteBase);
  823.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  824.     if(LayoutBase) CloseLibrary(LayoutBase);
  825.     if(IntegerBase) CloseLibrary(IntegerBase);
  826.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  827.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  828.     if(GetFontBase) CloseLibrary(GetFontBase);
  829.     if(GetFileBase) CloseLibrary(GetFileBase);
  830.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  831.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  832.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  833.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  834.     if(ChooserBase) CloseLibrary(ChooserBase);
  835.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  836.     if(ButtonBase) CloseLibrary(ButtonBase);
  837.     if(RequesterBase) CloseLibrary(RequesterBase);
  838.     if(WindowBase) CloseLibrary(WindowBase);
  839.     if(ResourceBase) CloseLibrary(ResourceBase);
  840.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  841.     if(ASLBase) CloseLibrary(ASLBase);
  842.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  843.     if(LocaleBase) CloseLibrary(LocaleBase);
  844.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  845.     exit(0);
  846. }
  847.  
  848. void Emperor_CloseScreen_Screen1(void)
  849. {
  850.     if(Screen1)
  851.     {
  852.         UnlockPubScreen(NULL, Screen1);
  853.         Screen1 = NULL;
  854.     }
  855. }
  856.  
  857. struct Screen *Emperor_OpenScreen_Screen1(void)
  858. {
  859.     Screen1 = LockPubScreen(NULL);
  860.     return(Screen1);
  861. }
  862.  
  863. void Emperor_CloseWindow_Window1(void)
  864. {
  865.     if(os35)
  866.     {
  867.         if(Menu) ClearMenuStrip(Window1);
  868.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  869.         Window1 = NULL;
  870.         WindowSignals1 = 0L;
  871.     }
  872. }
  873.  
  874. struct Window *Emperor_OpenWindow_Window1(void)
  875. {
  876.     if(os35)
  877.     {
  878.         Window1 = RA_OpenWindow(WindowObject1);
  879.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  880.         SetMenuStrip(Window1, Menu);
  881.         Window1_ShowWindow_Event();
  882.     }
  883.     return(Window1);
  884. }
  885.  
  886. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  887. {
  888.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  889.     STRPTR Emperor_GadgetAttrReturn = "";
  890.  
  891.     Emperor_GadgetAttrBuffer = 0L;
  892.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  893.     {
  894.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  895.         {
  896.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  897.             {
  898.                 case 0:
  899.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  900.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  901.                     break;
  902.                 case 1:
  903.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  904.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  905.                     break;
  906.                 case 2:
  907.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  908.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  909.                     break;
  910.                 case 3:
  911.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  912.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  913.                     break;
  914.                 case 6:
  915.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  916.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  917.                     break;
  918.                 case 7:
  919.                     GetAttr(GETFILE_FullFile, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  920.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  921.                     break;
  922.                 case 8:
  923.                     GetAttr(GETFONT_TextAttr, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  924.                     Emperor_GadgetAttrReturn = (STRPTR) Emperor_GadgetAttrBuffer;
  925.                     break;
  926.                 case 9:
  927.                     GetAttr(GETSCREENMODE_DisplayID, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  928.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  929.                     break;
  930.                 case 10:
  931.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  932.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  933.                     break;
  934.                 case 11:
  935.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  936.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  937.                     break;
  938.                 case 13:
  939.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  940.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  941.                     break;
  942.                 case 14:
  943.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  944.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  945.                     break;
  946.                 case 15:
  947.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  948.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  949.                     break;
  950.                 case 16:
  951.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  952.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  953.                     break;
  954.                 case 17:
  955.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  956.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  957.                     break;
  958.                 case 19:
  959.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  960.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  961.                     break;
  962.                 case 20:
  963.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  964.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  965.                     break;
  966.                 case 21:
  967.                     GetAttr(TDECK_Mode, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  968.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  969.                     break;
  970.                 case 22:
  971.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  972.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  973.                     break;
  974.             }
  975.             break;
  976.         }
  977.     }
  978.     return(Emperor_GadgetAttrReturn);
  979. }
  980.  
  981. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  982. {
  983.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  984.     struct Window *Emperor_Whichwindow = NULL;
  985.  
  986.     Emperor_GadgetAttrBuffer = 0L;
  987.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  988.     {
  989.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  990.         {
  991.             Emperor_Whichwindow = Window1;
  992.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  993.             {
  994.                 case 0:
  995.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  996.                     break;
  997.                 case 1:
  998.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  999.                     break;
  1000.                 case 2:
  1001.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1002.                     break;
  1003.                 case 3:
  1004.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1005.                     break;
  1006.                 case 6:
  1007.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1008.                     break;
  1009.                 case 7:
  1010.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFILE_FullFile, Emperor_GadgetValue, TAG_DONE);
  1011.                     break;
  1012.                 case 8:
  1013.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TextAttr, (struct TextAttr *) &Emperor_GadgetValue, TAG_DONE);
  1014.                     break;
  1015.                 case 9:
  1016.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_DisplayID, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1017.                     break;
  1018.                 case 10:
  1019.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1020.                     break;
  1021.                 case 11:
  1022.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1023.                     break;
  1024.                 case 13:
  1025.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1026.                     break;
  1027.                 case 14:
  1028.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1029.                     break;
  1030.                 case 15:
  1031.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1032.                     break;
  1033.                 case 16:
  1034.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1035.                     break;
  1036.                 case 17:
  1037.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1038.                     break;
  1039.                 case 19:
  1040.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  1041.                     break;
  1042.                 case 20:
  1043.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  1044.                     break;
  1045.                 case 21:
  1046.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, TDECK_Mode, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1047.                     break;
  1048.                 case 22:
  1049.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1050.                     break;
  1051.             }
  1052.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1053.             break;
  1054.         }
  1055.     }
  1056. }
  1057.  
  1058. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  1059. {
  1060.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1061.     struct Window *Emperor_Whichwindow = NULL;
  1062.  
  1063.     Emperor_GadgetAttrBuffer = 0L;
  1064.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1065.     {
  1066.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1067.         {
  1068.             Emperor_Whichwindow = Window1;
  1069.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1070.             {
  1071.                 case 0:
  1072.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1073.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1074.                     break;
  1075.                 case 1:
  1076.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1077.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1078.                     break;
  1079.                 case 2:
  1080.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  1081.                     else
  1082.                     {
  1083.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  1084.                         {
  1085.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  1086.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1087.                             Emperor_GadgetAttrBuffer = 1;
  1088.                         }
  1089.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1090.                     }
  1091.                     break;
  1092.                 case 3:
  1093.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  1094.                     {
  1095.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  1096.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  1097.                         Emperor_GadgetAttrBuffer = 1;
  1098.                     }
  1099.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1100.                     break;
  1101.                 case 4:
  1102.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  1103.                     else
  1104.                     {
  1105.                         if((Emperor_GadgetFlagMask == WHEEL_Red) || (Emperor_GadgetFlagMask == WHEEL_Green) || (Emperor_GadgetFlagMask == WHEEL_Blue) || (Emperor_GadgetFlagMask == WHEEL_Hue) || (Emperor_GadgetFlagMask == WHEEL_Saturation) || (Emperor_GadgetFlagMask == WHEEL_Brightness)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue) << 24, TAG_DONE);
  1106.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1107.                     }
  1108.                     break;
  1109.                 case 5:
  1110.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  1111.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1112.                     break;
  1113.                 case 6:
  1114.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1115.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1116.                     break;
  1117.                 case 7:
  1118.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1119.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1120.                     break;
  1121.                 case 8:
  1122.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  1123.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1124.                     break;
  1125.                 case 9:
  1126.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  1127.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1128.                     break;
  1129.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1130.                 case 11: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1131.                 case 13:
  1132.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  1133.                     {
  1134.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  1135.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1136.                         Emperor_GadgetAttrBuffer = 1;
  1137.                     }
  1138.                     else
  1139.                     {
  1140.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1141.                         {
  1142.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1143.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1144.                             Emperor_GadgetAttrBuffer = 1;
  1145.                         }
  1146.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1147.                     }
  1148.                     break;
  1149.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1150.                 case 15:
  1151.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1152.                     {
  1153.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1154.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1155.                         Emperor_GadgetAttrBuffer = 1;
  1156.                     }
  1157.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1158.                     break;
  1159.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1160.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1161.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1162.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1163.                 case 20:
  1164.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1165.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1166.                     break;
  1167.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1168.                 case 22:
  1169.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1170.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1171.                     break;
  1172.             }
  1173.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1174.             break;
  1175.         }
  1176.     }
  1177. }
  1178.  
  1179. void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1180. {
  1181.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1182.     struct Window *Emperor_Whichwindow = NULL;
  1183.  
  1184.     Emperor_GadgetAttrBuffer = 0L;
  1185.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1186.     {
  1187.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1188.         {
  1189.             Emperor_Whichwindow = Window1;
  1190.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
  1191.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1192.             break;
  1193.         }
  1194.     }
  1195. }
  1196.  
  1197. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1198. {
  1199.     WORD Emperor_Counter1 = 0;
  1200.     struct Node *Emperor_Node;
  1201.  
  1202.     if(os35)
  1203.     {
  1204.         NewList(Emperor_List);
  1205.         while(*Emperor_Labels)
  1206.         {
  1207.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1208.             AddTail(Emperor_List, Emperor_Node);
  1209.             Emperor_Labels++;
  1210.             Emperor_Counter1 += 12;
  1211.         }
  1212.     }
  1213. }
  1214.  
  1215. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1216. {
  1217.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1218.     struct Node *Emperor_Node;
  1219.  
  1220.     if(os35)
  1221.     {
  1222.         NewList(Emperor_List);
  1223.         while(*Emperor_Labels)
  1224.         {
  1225.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1226.             AddTail(Emperor_List, Emperor_Node);
  1227.             Emperor_Labels++;
  1228.             Emperor_Counter1 += 12;
  1229.             Emperor_Counter2++;
  1230.         }
  1231.     }
  1232. }
  1233.  
  1234. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1235. {
  1236.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1237.     struct Node *Emperor_Node;
  1238.  
  1239.     if(os35)
  1240.     {
  1241.         NewList(Emperor_List);
  1242.         while(*Emperor_Labels)
  1243.         {
  1244.             Emperor_Counter2 = 0;
  1245.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1246.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1247.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1248.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1249.             Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
  1250.             AddTail(Emperor_List, Emperor_Node);
  1251.             Emperor_Labels++;
  1252.             Emperor_Counter1 += 12;
  1253.         }
  1254.     }
  1255. }
  1256.  
  1257. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1258. {
  1259.     struct Node *Emperor_Node;
  1260.  
  1261.     if(os35)
  1262.     {
  1263.         NewList(Emperor_List);
  1264.         while(*Emperor_Labels)
  1265.         {
  1266.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1267.             AddTail(Emperor_List, Emperor_Node);
  1268.             Emperor_Labels++;
  1269.         }
  1270.     }
  1271. }
  1272.  
  1273. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1274. {
  1275.     struct Node *Emperor_Node;
  1276.     struct Remember *Emperor_RememberKey;
  1277.  
  1278.     NewList(Emperor_List);
  1279.     while(*Emperor_Labels)
  1280.     {
  1281.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1282.         Emperor_Node->ln_Name = *Emperor_Labels;
  1283.         AddTail(Emperor_List, Emperor_Node);
  1284.         Emperor_Labels++;
  1285.     }
  1286. }
  1287.  
  1288. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1289. {
  1290.     ULONG Emperor_Counter = 0;
  1291.  
  1292.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1293.     return(Emperor_Counter);
  1294. }
  1295.  
  1296. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1297. {
  1298.     return(atol(Emperor_StringBuffer));
  1299. }
  1300.  
  1301. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1302. {
  1303.     return(atof(Emperor_StringBuffer));
  1304. }
  1305.  
  1306. #include <math.h>
  1307.  
  1308. STRPTR inttostring(LONG Emperor_IntegerInput)
  1309. {
  1310.     char *Emperor_StringOutput = "abcdefghijk";
  1311.     STRPTR Emperor_StringBegin;
  1312.     BYTE Emperor_Counter, Emperor_IntegerLength = 0;
  1313.     LONG buffer;
  1314.  
  1315.     strcpy(Emperor_StringOutput, "");
  1316.     Emperor_StringBegin = Emperor_StringOutput;
  1317.     if(Emperor_IntegerInput < 0)
  1318.     {
  1319.         *Emperor_StringOutput++ = '-';
  1320.         Emperor_IntegerInput = -Emperor_IntegerInput;
  1321.     }
  1322.     buffer = Emperor_IntegerInput;
  1323.     do
  1324.     {
  1325.         buffer = buffer / 10;
  1326.         Emperor_IntegerLength++;
  1327.     }
  1328.     while(buffer > 0);
  1329.     for(Emperor_Counter = 1;Emperor_Counter <= Emperor_IntegerLength;Emperor_Counter++)
  1330.     {
  1331.         buffer = (LONG) (Emperor_IntegerInput / (LONG) pow(10, Emperor_IntegerLength - Emperor_Counter));
  1332.         Emperor_IntegerInput -= buffer * (LONG) pow(10, Emperor_IntegerLength - Emperor_Counter);
  1333.         *Emperor_StringOutput++ = (char) (buffer + 48);
  1334.     }
  1335.     *Emperor_StringOutput = NULL;
  1336.     Emperor_StringOutput = Emperor_StringBegin;
  1337.     return(Emperor_StringOutput)
  1338. }
  1339. #include <DevsManager.h>
  1340.